package com.handtransaction.common;

import com.handtransaction.service.DataStatisticsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

/**
 * 定时器组件：用于定期执行方法
 */
@Component
public class TimerAssembly {
    @Qualifier("dataStatisticsServiceImpl")
    @Autowired
    DataStatisticsService dataService;

    public void DataRegularSave(){
        Timer timer = new Timer();
        TimerTask task = new TimerTask() {
            @Override
            public void run() {
                //要定时执行的方法
                dataService.saveData();
            }
        };
        SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        try {
            //指定开始的时间
            Date date = format.parse("2021/06/09 00:00:00");
            // scheduleAtFixedRate会把过去的时间也算上，任意运行时间不干扰指定开始时间计时
            // schedule不会把过去的时间算上，任意运行时间干扰指定开始时间计时，运行时立即执行一次
            // timer.scheduleAtFixedRate(task,date,1000*60*60*24);
            timer.schedule(task,date,1000*60*60*24);
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }


}
